import instance from '@/utils/http'
import type { ResponseType } from './user'

export type BannerResultType = {
    /**
     * 子分类数组
     */
    children: Child[];
    /**
     * 分类下属商品
     */
    goods: Good[];
    /**
     * 分类id
     */
    id: string;
    /**
     * 分类名字
     */
    name: string;
    /**
     * 分类图片
     */
    picture: string;
    [property: string]: any;
}

export type Child = {
    /**
     * 三级分类数组，三级分类数组(暂无)
     */
    children: null;
    /**
     * 二级级分类下属商品数组，二级分类商品数组(暂无)
     */
    goods: null;
    /**
     * 二级分类id
     */
    id: string;
    /**
     * 二级分类名字
     */
    name: string;
    /**
     * 二级分类图片
     */
    picture: string;
    [property: string]: any;
}

export type Good = {
    /**
     * 商品描述
     */
    desc: string;
    /**
     * 商品折扣，如为null时，即无折扣
     */
    discount: null;
    /**
     * 商品id
     */
    id: string;
    /**
     * 商品名字
     */
    name: string;
    /**
     * 商品销量
     */
    orderNum: null;
    /**
     * 商品图片
     */
    picture: string;
    /**
     * 商品价格
     */
    price: string;
    [property: string]: any;
}

/**
 * @description: 获取banner图
 */
export function getBannerAPI(params: { distributionSite?: string } = {}):ResponseType<BannerResultType> {
    // 1为首页，2为分类商品页 默认是1
    const { distributionSite = '1' } = params
    return instance({
        url: 'home/banner',
        params: {
            distributionSite
        }
    })
}

/**
 * @description: 获取新鲜好物
 */
export const findNewAPI = () => {
    return instance({
        url: '/home/new'
    })
}

/**
 * @description: 获取新鲜好物
 */
export const findHotAPI = () => {
    return instance({
        url: '/home/hot'
    })
}

// 获取所有商品模块
export const getGoodsAPI = () => instance.get('/home/goods')